package com.woniu.dao;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.time.LocalDate;

@Mapper
public interface VisitDao {
    /**
     * 保存或更新访问记录
     * @param visitDate 访问日期
     */
    @Insert("INSERT INTO visit (visit_date, visit_count) VALUES (#{visitDate}, 1) " +
            "ON DUPLICATE KEY UPDATE visit_count = visit_count + 1")
    void saveOrUpdateVisitRecord(@Param("visitDate") LocalDate visitDate);

    /**
     * 查询指定日期的访问量
     * @param date 查询日期
     * @return 访问次数（可能为null）
     */
    @Select("SELECT visit_count FROM visit WHERE visit_date = #{date}")
    Integer getVisitCountByDate(@Param("date") LocalDate date);
}
